package com.tang.lts.core.commons.utils;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashSet;
import java.util.Set;

/**
 * @author Tang
 * @classname PrimitiveTypeUtils
 * @description [  ]
 * @date 2022/4/13 21:45
 */
public class PrimitiveTypeUtils {

    private static final Set<Class<?>> primitiveClasses = new HashSet<>();

    static {
        primitiveClasses.add(boolean.class);
        primitiveClasses.add(byte.class);
        primitiveClasses.add(short.class);
        primitiveClasses.add(int.class);
        primitiveClasses.add(long.class);
        primitiveClasses.add(float.class);
        primitiveClasses.add(double.class);

        primitiveClasses.add(Boolean.class);
        primitiveClasses.add(Byte.class);
        primitiveClasses.add(Short.class);
        primitiveClasses.add(Integer.class);
        primitiveClasses.add(Long.class);
        primitiveClasses.add(Float.class);
        primitiveClasses.add(Double.class);

        primitiveClasses.add(BigInteger.class);
        primitiveClasses.add(BigDecimal.class);
        primitiveClasses.add(String.class);
    }

    public static boolean isPrimitiveType(Class<?> clazz) {
        return primitiveClasses.contains(clazz);
    }

}